home *** CD-ROM | disk | FTP | other *** search
- /* winpos.c */
-
-
- /*
- * Set the current raster position to a specific window
- * coordinate. Also see the GL_MESA_window_pos extension.
- */
-
-
- void WindowPos( GLfloat x, GLfloat y, GLfloat z )
- {
- GLfloat fx, fy;
-
- /* Push current matrix mode and viewport attributes */
- glPushAttrib( GL_TRANSFORM_BIT | GL_VIEWPORT_BIT );
-
- /* Setup projection parameters */
- glMatrixMode( GL_PROJECTION );
- glPushMatrix();
- glLoadIdentity();
- glMatrixMode( GL_MODELVIEW );
- glPushMatrix();
- glLoadIdentity();
-
- glDepthRange( z, z );
- glViewport( (int) x - 1, (int) y - 1, 2, 2 );
-
- /* set the raster (window) position */
- fx = x - (int) x;
- fy = y - (int) y;
- glRasterPos3f( fx, fy, 0.0 );
-
- /* restore matrices, viewport and matrix mode */
- glPopMatrix();
- glMatrixMode( GL_PROJECTION );
- glPopMatrix();
-
- glPopAttrib();
- }
-
-